/**
 * 
 */
package platzerworld.kegeln.verein.db;

/**
 * Schnittstelle zur Tabelle Verein.
 * Die Klasse liefert SQL-Code zur Erzeugung der Tabelle. SQL-Code für alle für Kegelverwaltung erforderlichen Statements
 * 
 * @author platzerg
 */
public final class VereinTbl implements VereinColumns {
	/**
	 * Name der Datenbanktabelle.
	 */
	public static final String TABLE_NAME = "verein";

	/**
	 * SQL Anweisung zur Schemadefinition.
	 */
	public static final String SQL_CREATE = "CREATE TABLE verein (_id  INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, loc_latidute INTEGER, loc_longitude INTEGER, club_nummer INTEGER NOT NULL, club TEXT NOT NULL);";

	/**
	 * Standard-Sortierreihenfolge für die Tabelle. Sortiert wird nach Zeitstempel absteigend.
	 */
	public static final String DEFAULT_SORT_ORDER = NAME + " DESC";
	
	/**
	 * Sortierreihenfolge für die Tabelle. Sortiert wird nach Name absteigend.
	 */
	public static final String ORDER_BY_NAME = VereinTbl.NAME + " DESC";

	/**
	 * SQL Anweisung zur Löschung der Tabelle.
	 */
	public static final String SQL_DROP = "DROP TABLE IF EXISTS " + TABLE_NAME;

	/**
	 * SQL Anweisung für Erzeugung eines Minimal-Verein aus Name.
	 */
	public static final String STMT_MIN_INSERT = "INSERT INTO verein " + "(name, club_nummer, club) " + "VALUES (?,?,?)";

	/**
	 * SQL Anweisung für Erzeugung eines Vereins aus den Stammdaten.
	 */
	public static final String STMT_ALL_INSERT = "INSERT INTO verein " + "(name, loc_latidute, loc_longitude, club_nummer, club) " + "VALUES (?,?,?,?,?)";

	/**
	 * SQL Anweisung für Erzeugung eines Vereins aus den Stammdaten mit _id
	 */
	public static final String STMT_VEREIN_INSERT_ALL_WIDTH_ID = "INSERT INTO verein " + "(_id, name, loc_latidute, loc_longitude, club_nummer, club) " + "VALUES (?,?,?,?,?,?)";

	
	/**
	 * SQL Anweisung für Erzeugung eines Vereins aus den Stammdaten
	 */
	public static final String STMT_VEREIN_INSERT = "INSERT INTO verein " + "(name, club_nummer, club) " + "VALUES (?,?,?)";

	/**
	 * SQL-Anweisung zur Löschung aller Vereine.
	 */
	public static final String STMT_VEREIN_DELETE = "DELETE from verein ";

	/**
	 * SQL-Anweisung zur Löschung eines Vereins anhand seines Schlüsselwerts.
	 */
	public static final String STMT_VEREIN_DELETE_BY_ID = "DELETE verein " + "WHERE _id = ?";

	/** Liste aller bekannten Attribute. */
	public static final String[] ALL_COLUMNS = new String[] { ID, NAME, LOC_LATITUDE, LOC_LONGITUDE, CLUB_NUMMER, CLUB };

	/**
	 * WHERE-Bedingung für ID-Anfrage.
	 */
	public static final String WHERE_ID_EQUALS = ID + "=?";
	
	/**
	 * WHERE-Bedingung für NAME-Anfrage.
	 */
	public static final String WHERE_NAME_EQUALS = NAME + "=?";
	
	/**
	 * WHERE-Bedingung für NAME-Anfrage LIKE.
	 */
	public static final String WHERE_NAME_LIKE = VereinTbl.NAME + " LIKE ?";

	/**
	 * Klasse enthält nur Konstanten. Daher keine Objekterzeugung vorgesehen.
	 */
	private VereinTbl() {
	}
}
